草庐IT

PhpUnit 模拟 : function undefined

全部标签

php - 模拟测试和 PHP 神奇的 __get 方法

我在尝试使用__get和__set方法(使用simpletest)模拟对象时遇到问题。为__get编写模拟响应闻起来不对-测试似乎与实现紧密相关。有什么测试建议,还是我应该完全避免使用魔术方法? 最佳答案 我遇到了同样的问题,并在SimpleTest测试用例中找到了解决方案:来自mock_objects_test.php:classClassWithSpecialMethods{function__get($name){}function__set($name,$value){}function__isset($name){}fun

php - 为什么 PHPUnit 在生成覆盖率报告时要执行代码?

亲爱的stackoverflowers,我们正在开发一个基于cakephp的Web应用程序。CakePHP被证明有点难以以TDD方式使用,因此我们试图通过将所有业务逻辑提取到不依赖于cakephp的类中,在它自己的框架上开发尽可能少的代码。因此,我们能够使用phpunit测试我们的库,问题最少。然而,我们确实希望将未经测试的代码包含在我们的覆盖率报告中,而不是任何东西,以密切关注cake和我们无法测试的库之间的胶水代码量。那么问题是,当告诉phpunit解释这些代码时,它会疯狂地解析和执行cakephp的代码,并且它会崩溃。我的问题是:为什么phpunit会执行这段代码?这里有什么我们

PHPUnit Selenium 服务器 - 更好/自定义错误处理?

有没有办法让PHPUnit在出错后继续运行?例如,我有一个大型测试套件(400多个步骤),我更希望如果没有找到一个元素,它不会阻止我的脚本的其余部分继续。 最佳答案 我们在Selenium测试中做同样的事情。您需要捕获因断言失败而抛出的异常,唯一的方法是创建一个覆盖断言方法的自定义测试用例基类。您可以存储失败消息并在最后使用测试监听器使测试失败。我面前没有代码,但它非常简单。例如,abstractclassDelayedFailureSeleniumTestCaseextendsPHPUnit_Extension_SeleniumT

php - 使用 OS X Lion 在 MAMP 上使用 codeception 和 phpunit

运行:MAMP2.0.5PHP5.3.6(与MAMP捆绑)MacOSXLion10.7.2我的目标是获得Codeception在我的MAMP项目中工作和使用的测试框架。我正在关注theinstructionshere关于如何安装它。Pear已安装并且工作正常。我可以使用这些命令安装Codeception:$pearchannel-discovercodeception.com/pear$pearinstallcodeception/Codeception安装后,当我尝试运行codecept命令时,出现以下错误:Warning:require_once(Codeception/autol

单独运行时,PHPUnit 报告同一测试的不同代码覆盖率百分比

首先,让我说我已经通过了Reaching100%CodeCoveragewithPHPUnitSO以及Howtoget100%CodeCoveragewithPHPUnitSO.我无法借助其中任何一个解决问题。我的问题是,与运行整个测试套件时相比,PHPUnit在单独运行时报告同一测试的不同代码覆盖率百分比。因此,当我使用phpunittest/src/artax/UsesRequestTraitTest仅运行有问题的特定测试时,我得到以下覆盖率:但是,如果我在未指定特定测试的情况下使用phpunit运行我的全套测试,我将收到同一文件的以下信息:这是测试的源代码:getObjectFo

php - 自定义 PHPUnit 约束停止工作

我为自己创建了一个自定义PHPUnit约束并将其连接到一个不错的assert...函数。我将它放入我的基本TestCase中,它是assertLastError函数:/***abstract,basetest-caseclass.*/abstractclassTestCaseextends\PHPUnit_Framework_TestCase{/***assertlintofaphpfile*/protectedfunctionassertLint($filename,$message=''){self::assertThat($filename,newConstraintLint,$

php - 模拟打开大量链接

我知道这听起来像是黑帽SEO的一些尝试,也许这个问题的来源有一些接近于此的想法,但我问这个的原因是因为这个问题真的让我想知道它是否是可能。如果是这样,如何在不打开相同数量的新页面的情况下模拟打开大量唯一链接?任务是这样的-假设我们有一个包含5,000个链接的数据库,通过单击一个按钮,我想模拟打开每个链接,这样如果网站有一个webcounter,它就会递增(打开页面会被检测到),但同时用户页面上不会出现任何内容,它会保持原样,无需打开5,000个新页面或一次又一次地重新加载同一页面。如果这个问题不在程序员伦理范围内,我很抱歉。我出于好奇而问,如果这真的可能以及如何实现,我会很乐意阅读意见

PHPUnit 实时登录失败/错误

我最近运行了几千个phpunit测试。我使用--process-isolation选项,因此完成测试需要大约40分钟。有时在积极重构之后,许多测试开始失败(感谢上帝,我有测试!)。如果一个测试在测试套件中间失败,那么我必须再等20分钟才能看到它是什么测试和它的消息。如果没有中断整个过程,我会使用--stop-on-failure。基本上我正在寻找--log-on-failure选项。我正在寻找的正是在测试失败后而不是在所有其他测试完成后立即查看测试失败/错误消息的方法。但是其他测试执行的整个过程不应该被打断。记录到文件也足够了。我会感谢你的建议。编辑:我很高兴看到您的建议,我可以如何改

php - 如何使用 Ant 运行 PHPUnit 3.7?

我正在使用PHPUnit3.7并尝试使用ApacheAnt自动构建(和测试)我的项目。我已经通读了PHPUnit的文档,但找不到如何配置它以向Ant抛出错误。我当前的Ant任务如下所示(测试文件位于“tests”目录中):我编写了一个会失败的简单测试,并且ant测试任务在[exec]中显示失败,但构建标记为成功。如何配置Ant任务以便识别测试何时失败? 最佳答案 啊啊啊,原来是这样啊。failonerror="true"命令是我的friend。它现在很管用。 关于php-如何使用Ant运

PHPUnit 无法发送 session cookie - header 已发送

在Eclipse中通过以下代码片段使用PHPUnit时,出现错误:Cannotsendsessioncookie-headersalreadysentby(outputstartedatC:\wamp\bin\php\php5.3.13\pear\PHPUnit\Util\Printer.php:172)Session_start()在“LoginTest”中执行。如何阻止PHPUnit干扰sessioncookie的生成?Verysimilarproblemwithsolutionthatwon'tletmedebuginEclipse. 最佳答案